Auto-adaptive systems have many applications. These applications include event recognition based on data measured over a number of successive time periods. Events take many different forms. For example, events may include detection of a target in a particular area, sensing of an out-of-specification condition in a physical process environment or correspondence of processed psychometric measurements with a particular behavior prediction profile. Anomaly sensing is often an element of detecting an event. Event recognition may also comprise evaluation of sensed data to recognize or reject existence of conditions indicated by the data or to initiate a particular action.
One use of event detection is in military operations. When making critical combat decisions, a commander must often decide to either act at once or hold off and get more information. Immediate action may offer tactical advantages and improve success prospects, but it could also lead to heavy losses. Getting more data may improve situational awareness and avoid heavy losses, but resulting delays may cause other problems. Making the right choice depends strongly on knowing how much could be gained from gathering more information, and how much could be lost by delaying action. Advantages that can be achieved through the use of event detection go beyond mere friend or foe identification. A data-based, decisive inference process can help the commander to see how the operational picture might change with the arrival of more data. Seeing what to expect, in turn, will help decide if getting more information is worthwhile or whether an action should be launched at once.
Data is collected by sensors of one kind or another. In the context of the present description, a sensor is an item that provides information that may be used to produce a meaningful result. Data is collected over successive time periods, generally from an array of sensors. Depending on the conditions being analyzed and the type of sensors utilized, different types of data points may be established. For example, a data point characterizing a position of a point in a plane may be characterized by x and y coordinates. Such a point has two spatial dimensions. Other dimensions may also exist. For example, if the data point describes the condition of a pixel in a television display, the data point may be further characterized by values of luminance and chroma. These values are characterized as further dimensions of a data point.
In order to describe an environment mathematically, event recognition adaptive algorithms process successive signals in one or a plurality of dimensions to converge on a model of the background environment to maintain track of the background's dynamic change. Systems employing such algorithms are referred to as machine learning in that they are capable of learning. When an event occurs within a sensor's area of response, e.g., within a field of view of optical sensors, the adaptive algorithms determine if the return is sufficiently different from the background prediction. Domain specific event identification algorithms may then be applied to verify if an event has occurred in order to minimize the likelihood and number of false positives. An important aspect of the adaptive algorithm approach is a dynamic detection threshold that could enable these systems to find signals and events that could be lost in noise were they to be compared to fixed thresholds. Having a dynamic threshold also allows a system to maintain a tighter range on alarm limits. Broader alarm ranges decrease the ability of the system to distinguish anomalous conditions from normal conditions. Machine learning is also readily embodied in parallel configurations to allow for extra speed afforded by parallel processing.
U.S. Pat. No. 5,835,902 discloses a system for learning from and responding to regularly arriving information at once by quickly combining prior information with concurrent trial information to produce useful learned information. Predicted values are generated, and an anomaly is indicated if a current measurement is sufficiently divergent from an expected measurement. In one form, a processing system for computing output values from input values received during a time trial comprises a processing unit receiving sequential input data values from an input vector. In order to generate the estimated values, a connection weight matrix is calculated that is the inverse of a sample covariance matrix at the beginning of the time period and the inverse of the updated sample covariance matrix at the end of the time period. While this system is effective, it has physical limitations.
To use such a system for nominal video image of 500,000 pixels, the matrix to be computed would have a size of 500,000×500,000. This is too large a number to be processed in real time by stand-alone processor circuits that are capable of inclusion on a circuit board in a remotely controlled device. Even as to tractable applications, the processor has significant minimum requirements in terms of complexity, required silicon “real estate” and operating power. Such requirements are relatively easily met when a processor is contained in a base unit such as a ship. However, tactically, there are scenarios in which it is highly desirable to use a portable device such as an unmanned underwater vehicle (UUV) to gather information and make decisions. Such devices have such limited, self powered electrical power sources that power demand becomes a critical factor. Weight and space limitations are significant in many forms of portable devices. It is desirable to provide a system better suited to operation in a remote, space limited and self powered unit.
U.S. Published Pat. No. 6,327,677 discloses a processor to generate values to which current values are compared. However the processor uses historical samples for comparison to currently measured values continuously on a time slice by time slice basis.
Other complex event detection systems have known drawbacks. A complex process requires powerful processors rather than simpler, less expensive field programmable gating arrays (FPGAs). FPGAs have not been used for processing of multidimensional measurements. Many systems use C++ programming, which is effective but slow in comparison to the simple instructions used for FPGAs. It is desirable to provide a processor arrangement for event detection which is simple, efficient in terms of power requirements, fast and comparatively low cost in relation to prior powerful event detection systems. It is useful to provide the capability of parallel processing in order to speed production of results.
However, as new unmanned vehicles are being developed that are smaller, more agile, and have the capability of reaching places that have not been reached before, the demands made upon the data processing capabilities of these systems have increased dramatically. An article in COTS Journal, January 2006, http://www.cotsjournalonline.com/home/article.php?id=100450, noted that, “The military's transformation into a more nimble and information-aware fighting force means that high-demand, compute-intensive military systems need huge amounts of processing power in a small space. Multicore processors are leading the way. . . . On the silicon side, the move to multicore processors is being driven by the limitations of single-core PUs in these high-demand systems. Unmanned aerial vehicle (UAV) image recognition and collision detection processing, for example, requires many DSPs or general-purpose processors, or a combination of both. Pushing single-core processors any further in performance can't be done without drastic consequences in the heat produced and the power consumed.”
Single core processors include such devices as high-powered AMD and Intel processors. Dual core processors represent new and more expensive designs for which the new architectures and programming need to be created. An example of a dual core processor is the new Intel Pentium D dual core processor. If designs can be found that can utilize older and simpler processors to perform functions such as those performed by UAVs, much redesign and power consumption can be avoided. Low level software can be utilized. Reliability will be increased and time to deployment from formulation of specifications is significantly decreased.
It is also important to formulate efficient ways of handling large arrays of data. In many typical applications, the UAV-borne processor will need to respond to outputs from a large array of sensors. The sensors will be producing consecutive outputs at a high frequency. The above-cited U.S. Pat. No. 5,835,902 successfully processes data. However, values are updated by processing the inverse of a covariance matrix. This is a complex calculation, especially when the number of covariates is large.
In order to evaluate data, it is important to provide efficient ways of presenting data to a processor. U.S. Pat. No. 6,985,779 discloses a system in which sensor output data is organized within a spreadsheet in which one column represents an output of one sensor and in which each role of the columns represents the output during a successive frequency period, or time slice. This patent does not disclose efficiently processing the values in a matrix to define imputed values.
Many prior art arrangements perform calculations for event detection and adaptive learning after entire sets of data have been collected. Often data collected by a remote vehicle must be processed at a home base. Prior arrangements have not provided for maximizing data reduction in the remote vehicle.